import openai

api_key = '<用户的 API Key>'
base_url = '服务商接口地址'

client = openai.OpenAI(
    api_key=api_key,
    base_url=base_url,
    )
messages = [
    {
        "role": "user",
        "content": "天气?"
    }
]

response = client.chat.completions.create(
    # 模型名称，使用支持函数调用的版本
    model="qwen-turbo-latest",
    # 对话消息列表
    messages=messages,
    # 定义可调用的函数列表
    # functions=functions,
    # 控制函数调用方式，auto 表示让模型自主决定
    function_call="auto",
    # 生成结果的随机性，0 表示确定性最高，2 表示随机性最高
    temperature=0.7,
    # 另一种控制随机性的方式，与 temperature 二选一
    top_p=0.9,
    # 生成的回复数量
    n=1,
    # 是否使用流式响应
    stream=False,
    # 停止生成的字符串列表
    stop=["###"],
    # 生成的最大令牌数
    max_tokens=200,
    # 惩罚新出现的话题，鼓励讨论新内容
    presence_penalty=0.1,
    # 惩罚高频出现的令牌，减少重复用词
    frequency_penalty=0.1,
    # 对特定令牌的生成概率进行偏置
    logit_bias={"100257": -100},
    # 标识用户身份
    user="user_123"
    )

print(response.choices[0].message.content)